PaddleSpeech: Easy |
您所在的位置:网站首页 › parts of speech阅读策略 › PaddleSpeech: Easy |
(简体中文|English)
PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型,一些典型的应用示例如下: PaddleSpeech 荣获 NAACL2022 Best Demo Award, 请访问 Arxiv 论文。 效果展示 语音识别 输入音频 识别结果![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 更多合成音频,可以参考 PaddleSpeech 语音合成音频示例。 标点恢复 输入文本 输出文本 今天的天气真不错啊你下午有空吗我想约你一起去吃饭 今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。 特性本项目采用了易用、高效、灵活以及可扩展的实现,旨在为工业应用、学术研究提供更好的支持,实现的功能包含训练、推断以及测试模块,以及部署过程,主要包括 📦 易用性: 安装门槛低,可使用 CLI 快速开始。 🏆 对标 SoTA: 提供了高速、轻量级模型,且借鉴了最前沿的技术。 🏆 流式 ASR 和 TTS 系统:工业级的端到端流式识别、流式合成系统。 💯 基于规则的中文前端: 我们的前端包含文本正则化和字音转换(G2P)。此外,我们使用自定义语言规则来适应中文语境。 多种工业界以及学术界主流功能支持: 🛎️ 典型音频任务: 本工具包提供了音频任务如音频分类、语音翻译、自动语音识别、文本转语音、语音合成、声纹识别、KWS等任务的实现。 🔬 主流模型及数据集: 本工具包实现了参与整条语音任务流水线的各个模块,并且采用了主流数据集如 LibriSpeech、LJSpeech、AIShell、CSMSC,详情请见 模型列表。 🧩 级联模型应用: 作为传统语音任务的扩展,我们结合了自然语言处理、计算机视觉等任务,实现更接近实际需求的产业级应用。 近期更新 👑 2023.05.31: 新增 WavLM ASR-en, 基于WavLM的英语识别微调,使用LibriSpeech数据集 👑 2023.05.04: 新增 HuBERT ASR-en, 基于HuBERT的英语识别微调,使用LibriSpeech数据集 ⚡ 2023.04.28: 修正 0-d tensor, 配合PaddlePaddle2.5升级修改了0-d tensor的问题。 👑 2023.04.25: 新增 U2 conformer 的 AMP 训练. 👑 2023.04.06: 新增 srt格式字幕生成功能。 🔥 2023.03.14: 新增基于 Opencpop 数据集的 SVS (歌唱合成) 示例,包含 DiffSinger、PWGAN 和 HiFiGAN,效果持续优化中。 👑 2023.03.09: 新增 Wav2vec2ASR-zh。 🎉 2023.03.07: 新增 TTS ARM Linux C++ 部署示例 (包含 C++ 中文文本前端模块)。 🔥 2023.03.03: 新增声音转换模型 StarGANv2-VC 合成流程。 🎉 2023.02.16: 新增粤语语音合成。 🔥 2023.01.10: 新增中英混合 ASR CLI 和 Demos。 👑 2023.01.06: 新增 ASR 中英混合 tal_cs 训练推理流程。 🎉 2022.12.02: 新增端到端韵律预测全流程 (包含在声学模型中使用韵律标签)。 🎉 2022.11.30: 新增 TTS Android 部署示例。 🤗 2022.11.28: PP-TTS and PP-ASR 示例可在 AIStudio 和飞桨官网体验! 👑 2022.11.18: 新增 Whisper CLI 和 Demos, 支持多种语言的识别与翻译。 🔥 2022.11.18: 新增 Wav2vec2 CLI 和 Demos, 支持 ASR 和特征提取。 🎉 2022.11.17: TTS 新增高质量男性音色。 🔥 2022.11.07: 新增 U2/U2++ 高性能流式 ASR C++ 部署。 👑 2022.11.01: 中英文混合 TTS 新增 Adversarial Loss 模块。 🔥 2022.10.26: TTS 新增韵律预测功能。 🎉 2022.10.21: TTS 中文文本前端新增 SSML 功能。 👑 2022.10.11: 新增 Wav2vec2ASR-en, 在 LibriSpeech 上针对 ASR 任务对 wav2vec2.0 的 finetuning。 🔥 2022.09.26: 新增 Voice Cloning, TTS finetune 和 ERNIE-SAT 到 PaddleSpeech 网页应用。 ⚡ 2022.09.09: 新增基于 ECAPA-TDNN 声纹模型的 AISHELL-3 Voice Cloning 示例。 ⚡ 2022.08.25: 发布 TTS finetune 示例。 🔥 2022.08.22: 新增 ERNIE-SAT 模型: ERNIE-SAT-vctk、ERNIE-SAT-aishell3、ERNIE-SAT-zh_en。 🔥 2022.08.15: 将 g2pW 引入 TTS 中文文本前端。 🔥 2022.08.09: 发布中英文混合 TTS。 ⚡ 2022.08.03: TTS CLI 新增 ONNXRuntime 推理方式。 🎉 2022.07.18: 发布 VITS 模型: VITS-csmsc、VITS-aishell3、VITS-VC。 🎉 2022.06.22: 所有 TTS 模型支持了 ONNX 格式。 🍀 2022.06.17: 新增 PaddleSpeech 网页应用。 👑 2022.05.13: PaddleSpeech 发布 PP-ASR 流式语音识别系统、PP-TTS 流式语音合成系统、PP-VPR 全链路声纹识别系统 👏🏻 2022.05.06: PaddleSpeech Streaming Server 上线!覆盖了语音识别(标点恢复、时间戳)和语音合成。 👏🏻 2022.05.06: PaddleSpeech Server 上线!覆盖了声音分类、语音识别、语音合成、声纹识别,标点恢复。 👏🏻 2022.03.28: PaddleSpeech CLI 覆盖声音分类、语音识别、语音翻译(英译中)、语音合成和声纹验证。 👏🏻 2021.12.10: PaddleSpeech CLI 支持语音分类, 语音识别, 语音翻译(英译中)和语音合成。 🔥 加入技术交流群获取入群福利 3 日直播课链接: 深度解读 【一句话语音合成】【小样本语音合成】【定制化语音识别】语音交互技术 20G 学习大礼包:视频课程、前沿论文与学习资料微信扫描二维码关注公众号,点击“马上报名”填写问卷加入官方交流群,获得更高效的问题答疑,与各行各业开发者充分交流,期待您的加入。 ![]() 我们强烈建议用户在 Linux 环境下,3.7 以上版本的 python 上安装 PaddleSpeech。 相关依赖 gcc >= 4.8.5 paddlepaddle >= 2.5.0 python >= 3.8 linux(推荐), mac, windowsPaddleSpeech 依赖于 paddlepaddle,安装可以参考 paddlepaddle 官网,根据自己机器的情况进行选择。这里给出 cpu 版本示例,其它版本大家可以根据自己机器的情况进行安装。 pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple你也可以安装指定版本的paddlepaddle,或者安装 develop 版本。 # 安装2.4.1版本. 注意:2.4.1只是一个示例,请按照对paddlepaddle的最小依赖进行选择。 pip install paddlepaddle==2.4.1 -i https://mirror.baidu.com/pypi/simple # 安装 develop 版本 pip install paddlepaddle==0.0.0 -f https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.htmlPaddleSpeech 快速安装方式有两种,一种是 pip 安装,一种是源码编译(推荐)。 pip 安装 pip install pytest-runner pip install paddlespeech 源码编译 git clone https://github.com/PaddlePaddle/PaddleSpeech.git cd PaddleSpeech pip install pytest-runner pip install .更多关于安装问题,如 conda 环境,librosa 依赖的系统库,gcc 环境问题,kaldi 安装等,可以参考这篇安装文档,如安装上遇到问题可以在 #2150 上留言以及查找相关问题 快速开始安装完成后,开发者可以通过命令行或者 Python 快速开始,命令行模式下改变 --input 可以尝试用自己的音频或文本测试,支持 16k wav 格式音频。 你也可以在 aistudio 中快速体验 👉🏻一键预测,快速上手 Speech 开发任务。 测试音频示例下载 wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav 语音识别 (点击可展开)开源中文语音识别命令行一键体验 paddlespeech asr --lang zh --input zh.wavPython API 一键预测 >>> from paddlespeech.cli.asr.infer import ASRExecutor >>> asr = ASRExecutor() >>> result = asr(audio_file="zh.wav") >>> print(result) 我认为跑步最重要的就是给我带来了身体健康 语音合成 开源中文语音合成输出 24k 采样率wav格式音频 命令行一键体验 paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output output.wavPython API 一键预测 >>> from paddlespeech.cli.tts.infer import TTSExecutor >>> tts = TTSExecutor() >>> tts(text="今天天气十分不错。", output="output.wav") 语音合成的 web demo 已经集成进了 Huggingface Spaces. 请参考: TTS Demo 声音分类 适配多场景的开放领域声音分类工具基于 AudioSet 数据集 527 个类别的声音分类模型 命令行一键体验 paddlespeech cls --input zh.wavpython API 一键预测 >>> from paddlespeech.cli.cls.infer import CLSExecutor >>> cls = CLSExecutor() >>> result = cls(audio_file="zh.wav") >>> print(result) Speech 0.9027186632156372 声纹提取 工业级声纹提取工具命令行一键体验 paddlespeech vector --task spk --input zh.wavPython API 一键预测 >>> from paddlespeech.cli.vector import VectorExecutor >>> vec = VectorExecutor() >>> result = vec(audio_file="zh.wav") >>> print(result) # 187维向量 [ -0.19083306 9.474295 -14.122263 -2.0916545 0.04848729 4.9295826 1.4780062 0.3733844 10.695862 3.2697146 -4.48199 -0.6617882 -9.170393 -11.1568775 -1.2358263 ...] 标点恢复 一键恢复文本标点,可与ASR模型配合使用命令行一键体验 paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭Python API 一键预测 >>> from paddlespeech.cli.text.infer import TextExecutor >>> text_punc = TextExecutor() >>> result = text_punc(text="今天的天气真不错啊你下午有空吗我想约你一起去吃饭") 今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。 语音翻译 端到端英译中语音翻译工具使用预编译的 kaldi 相关工具,只支持在 Ubuntu 系统中体验 命令行一键体验 paddlespeech st --input en.wavpython API 一键预测 >>> from paddlespeech.cli.st.infer import STExecutor >>> st = STExecutor() >>> result = st(audio_file="en.wav") ['我 在 这栋 建筑 的 古老 门上 敲门 。'] 快速使用服务安装完成后,开发者可以通过命令行一键启动语音识别,语音合成,音频分类等多种服务。 你可以在 AI Studio 中快速体验:SpeechServer 一键部署 启动服务 paddlespeech_server start --config_file ./demos/speech_server/conf/application.yaml访问语音识别服务 paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wav访问语音合成服务 paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav访问音频分类服务 paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input input.wav更多服务相关的命令行使用信息,请参考 demos 快速使用流式服务开发者可以尝试 流式 ASR 和 流式 TTS 服务. 启动流式 ASR 服务 paddlespeech_server start --config_file ./demos/streaming_asr_server/conf/application.yaml访问流式 ASR 服务 paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav启动流式 TTS 服务 paddlespeech_server start --config_file ./demos/streaming_tts_server/conf/tts_online_application.yaml访问流式 TTS 服务 paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav更多信息参看: 流式 ASR 和 流式 TTS 模型列表PaddleSpeech 支持很多主流的模型,并提供了预训练模型,详情请见模型列表。 PaddleSpeech 的 语音转文本 包含语音识别声学模型、语音识别语言模型和语音翻译, 详情如下: 语音转文本模块类型 数据集 模型类型 脚本 语音识别 Aishell DeepSpeech2 RNN + Conv based Models deepspeech2-aishell Transformer based Attention Models u2.transformer.conformer-aishell Librispeech Transformer based Attention Models deepspeech2-librispeech / transformer.conformer.u2-librispeech / transformer.conformer.u2-kaldi-librispeech TIMIT Unified Streaming & Non-streaming Two-pass u2-timit 对齐 THCHS30 MFA mfa-thchs30 语言模型 Ngram 语言模型 kenlm 语音翻译(英译中) TED En-Zh Transformer + ASR MTL transformer-ted FAT + Transformer + ASR MTL fat-st-tedPaddleSpeech 的 语音合成 主要包含三个模块:文本前端、声学模型和声码器。声学模型和声码器模型如下: 语音合成模块类型 模型类型 数据集 脚本 文本前端 tn / g2p 声学模型 Tacotron2 LJSpeech / CSMSC tacotron2-ljspeech / tacotron2-csmsc Transformer TTS LJSpeech transformer-ljspeech SpeedySpeech CSMSC speedyspeech-csmsc FastSpeech2 LJSpeech / VCTK / CSMSC / AISHELL-3 / ZH_EN / finetune fastspeech2-ljspeech / fastspeech2-vctk / fastspeech2-csmsc / fastspeech2-aishell3 / fastspeech2-zh_en / fastspeech2-finetune ERNIE-SAT VCTK / AISHELL-3 / ZH_EN ERNIE-SAT-vctk / ERNIE-SAT-aishell3 / ERNIE-SAT-zh_en DiffSinger Opencpop DiffSinger-opencpop 声码器 WaveFlow LJSpeech waveflow-ljspeech Parallel WaveGAN LJSpeech / VCTK / CSMSC / AISHELL-3 / Opencpop PWGAN-ljspeech / PWGAN-vctk / PWGAN-csmsc / PWGAN-aishell3 / PWGAN-opencpop Multi Band MelGAN CSMSC Multi Band MelGAN-csmsc Style MelGAN CSMSC Style MelGAN-csmsc HiFiGAN LJSpeech / VCTK / CSMSC / AISHELL-3 / Opencpop HiFiGAN-ljspeech / HiFiGAN-vctk / HiFiGAN-csmsc / HiFiGAN-aishell3 / HiFiGAN-opencpop WaveRNN CSMSC WaveRNN-csmsc 声音克隆 GE2E Librispeech, etc. GE2E SV2TTS (GE2E + Tacotron2) AISHELL-3 VC0 SV2TTS (GE2E + FastSpeech2) AISHELL-3 VC1 SV2TTS (ECAPA-TDNN + FastSpeech2) AISHELL-3 VC2 GE2E + VITS AISHELL-3 VITS-VC 端到端 VITS CSMSC / AISHELL-3 VITS-csmsc / VITS-aishell3声音分类 任务 数据集 模型类型 脚本 声音分类 ESC-50 PANN pann-esc50语音唤醒 任务 数据集 模型类型 脚本 语音唤醒 hey-snips MDTC mdtc-hey-snips声纹识别 任务 数据集 模型类型 脚本 声纹识别 VoxCeleb1/2 ECAPA-TDNN ecapa-tdnn-voxceleb12说话人日志 任务 数据集 模型类型 脚本 说话人日志 AMI ECAPA-TDNN + AHC / SC ecapa-tdnn-ami标点恢复 任务 数据集 模型类型 脚本 标点恢复 IWLST2012_zh Ernie Linear iwslt2012-punc0 教程文档对于 PaddleSpeech 的所关注的任务,以下指南有助于帮助开发者快速入门,了解语音相关核心思想。 下载安装 快速开始 Notebook基础教程 声音分类 语音识别 语音翻译 声音合成 示例Demo 进阶文档 语音识别自定义训练 简介 数据准备 Ngram 语言模型 语音合成自定义训练 简介 进阶用法 中文文本前端 测试语音样本 声纹识别 声纹识别 音频检索 声音分类 语音翻译 服务化部署 模型列表 语音识别 语音合成 声音分类 声纹识别 说话人日志 标点恢复 技术交流群 欢迎贡献 License语音合成模块最初被称为 Parakeet,现在与此仓库合并。如果您对该任务的学术研究感兴趣,请参阅 TTS 研究概述。此外,模型介绍 是了解语音合成流程的一个很好的指南。 ⭐ 应用案例 PaddleBoBo: 使用 PaddleSpeech 的语音合成模块生成虚拟人的声音。PaddleSpeech 示例视频 VTuberTalk: 使用 PaddleSpeech 的语音合成和语音识别从视频中克隆人声。 ![]() 要引用 PaddleSpeech 进行研究,请使用以下格式进行引用。 @InProceedings{pmlr-v162-bai22d, title = {{A}$^3${T}: Alignment-Aware Acoustic and Text Pretraining for Speech Synthesis and Editing}, author = {Bai, He and Zheng, Renjie and Chen, Junkun and Ma, Mingbo and Li, Xintong and Huang, Liang}, booktitle = {Proceedings of the 39th International Conference on Machine Learning}, pages = {1399--1411}, year = {2022}, volume = {162}, series = {Proceedings of Machine Learning Research}, month = {17--23 Jul}, publisher = {PMLR}, pdf = {https://proceedings.mlr.press/v162/bai22d/bai22d.pdf}, url = {https://proceedings.mlr.press/v162/bai22d.html}, } @inproceedings{zhang2022paddlespeech, title = {PaddleSpeech: An Easy-to-Use All-in-One Speech Toolkit}, author = {Hui Zhang, Tian Yuan, Junkun Chen, Xintong Li, Renjie Zheng, Yuxin Huang, Xiaojie Chen, Enlei Gong, Zeyu Chen, Xiaoguang Hu, dianhai yu, Yanjun Ma, Liang Huang}, booktitle = {Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Demonstrations}, year = {2022}, publisher = {Association for Computational Linguistics}, } @inproceedings{zheng2021fused, title={Fused acoustic and text encoding for multimodal bilingual pretraining and speech translation}, author={Zheng, Renjie and Chen, Junkun and Ma, Mingbo and Huang, Liang}, booktitle={International Conference on Machine Learning}, pages={12736--12746}, year={2021}, organization={PMLR} } 参与 PaddleSpeech 的开发热烈欢迎您在 Discussions 中提交问题,并在 Issues 中指出发现的 bug。此外,我们非常希望您参与到 PaddleSpeech 的开发中! 贡献者
此外,PaddleSpeech 依赖于许多开源存储库。有关更多信息,请参阅 references。 LicensePaddleSpeech 在 Apache-2.0 许可 下提供。 Stargazers over time |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |